package com.forum.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;

/**
 * 
 * @TableName teacher_info
 */
@TableName(value ="teacher_info")
public class TeacherInfo implements Serializable {
    /**
     * 职工号
     */
    @TableId(value = "teacherId",type = IdType.AUTO)
    private Long teacherid;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 密码
     */
    private String password;

    /**
     * 头像地址
     */
    private String avartarurl;

    /**
     * 身份（固定为1）
     */
    private Integer identity;

    /**
     * 姓名
     */
    private String name;

    /**
     * 所在单位
     */
    private String unit;

    /**
     * 职务
     */
    private String occupation;

    /**
     * 职称
     */
    private String title;

    /**
     * 感兴趣内容
     */
    private String tags;

    /**
     * 性别0：男1：女
     */
    private Integer sex;

    /**
     * 邮箱
     */
    private String email;

    /**
     * QQ号码
     */
    private String qq;

    /**
     * 电话号码
     */
    private Long telephone;

    /**
     * 个人描述（个性签名）
     */
    private String signature;

    /**
     * 研究方向
     */
    private String major;

    /**
     * 违规次数
     */
    private Integer illegalCount;

    /**
     * 默认为0,0代表普通用户，1代表管理员
     */
    private Integer isAdmin;

    /**
     * 是否第一次登陆，1代表是，0代表不是
     */
    private Integer isFirstTimeLogin;

    /**
     * 禁言状态0未1禁
     */
    private Integer status;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 职工号
     */
    public Long getTeacherid() {
        return teacherid;
    }

    /**
     * 职工号
     */
    public void setTeacherid(Long teacherid) {
        this.teacherid = teacherid;
    }

    /**
     * 昵称
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * 昵称
     */
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    /**
     * 密码
     */
    public String getPassword() {
        return password;
    }

    /**
     * 密码
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 头像地址
     */
    public String getAvartarurl() {
        return avartarurl;
    }

    /**
     * 头像地址
     */
    public void setAvartarurl(String avartarurl) {
        this.avartarurl = avartarurl;
    }

    /**
     * 身份（固定为1）
     */
    public Integer getIdentity() {
        return identity;
    }

    /**
     * 身份（固定为1）
     */
    public void setIdentity(Integer identity) {
        this.identity = identity;
    }

    /**
     * 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 所在单位
     */
    public String getUnit() {
        return unit;
    }

    /**
     * 所在单位
     */
    public void setUnit(String unit) {
        this.unit = unit;
    }

    /**
     * 职务
     */
    public String getOccupation() {
        return occupation;
    }

    /**
     * 职务
     */
    public void setOccupation(String occupation) {
        this.occupation = occupation;
    }

    /**
     * 职称
     */
    public String getTitle() {
        return title;
    }

    /**
     * 职称
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 感兴趣内容
     */
    public String getTags() {
        return tags;
    }

    /**
     * 感兴趣内容
     */
    public void setTags(String tags) {
        this.tags = tags;
    }

    /**
     * 性别0：男1：女
     */
    public Integer getSex() {
        return sex;
    }

    /**
     * 性别0：男1：女
     */
    public void setSex(Integer sex) {
        this.sex = sex;
    }

    /**
     * 邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * QQ号码
     */
    public String getQq() {
        return qq;
    }

    /**
     * QQ号码
     */
    public void setQq(String qq) {
        this.qq = qq;
    }

    /**
     * 电话号码
     */
    public Long getTelephone() {
        return telephone;
    }

    /**
     * 电话号码
     */
    public void setTelephone(Long telephone) {
        this.telephone = telephone;
    }

    /**
     * 个人描述（个性签名）
     */
    public String getSignature() {
        return signature;
    }

    /**
     * 个人描述（个性签名）
     */
    public void setSignature(String signature) {
        this.signature = signature;
    }

    /**
     * 研究方向
     */
    public String getMajor() {
        return major;
    }

    /**
     * 研究方向
     */
    public void setMajor(String major) {
        this.major = major;
    }

    /**
     * 违规次数
     */
    public Integer getIllegalCount() {
        return illegalCount;
    }

    /**
     * 违规次数
     */
    public void setIllegalCount(Integer illegalCount) {
        this.illegalCount = illegalCount;
    }

    /**
     * 默认为0,0代表普通用户，1代表管理员
     */
    public Integer getIsAdmin() {
        return isAdmin;
    }

    /**
     * 默认为0,0代表普通用户，1代表管理员
     */
    public void setIsAdmin(Integer isAdmin) {
        this.isAdmin = isAdmin;
    }

    /**
     * 是否第一次登陆，1代表是，0代表不是
     */
    public Integer getIsFirstTimeLogin() {
        return isFirstTimeLogin;
    }

    /**
     * 是否第一次登陆，1代表是，0代表不是
     */
    public void setIsFirstTimeLogin(Integer isFirstTimeLogin) {
        this.isFirstTimeLogin = isFirstTimeLogin;
    }

    /**
     * 禁言状态0未1禁
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 禁言状态0未1禁
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        TeacherInfo other = (TeacherInfo) that;
        return (this.getTeacherid() == null ? other.getTeacherid() == null : this.getTeacherid().equals(other.getTeacherid()))
            && (this.getNickname() == null ? other.getNickname() == null : this.getNickname().equals(other.getNickname()))
            && (this.getPassword() == null ? other.getPassword() == null : this.getPassword().equals(other.getPassword()))
            && (this.getAvartarurl() == null ? other.getAvartarurl() == null : this.getAvartarurl().equals(other.getAvartarurl()))
            && (this.getIdentity() == null ? other.getIdentity() == null : this.getIdentity().equals(other.getIdentity()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getUnit() == null ? other.getUnit() == null : this.getUnit().equals(other.getUnit()))
            && (this.getOccupation() == null ? other.getOccupation() == null : this.getOccupation().equals(other.getOccupation()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getTags() == null ? other.getTags() == null : this.getTags().equals(other.getTags()))
            && (this.getSex() == null ? other.getSex() == null : this.getSex().equals(other.getSex()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getQq() == null ? other.getQq() == null : this.getQq().equals(other.getQq()))
            && (this.getTelephone() == null ? other.getTelephone() == null : this.getTelephone().equals(other.getTelephone()))
            && (this.getSignature() == null ? other.getSignature() == null : this.getSignature().equals(other.getSignature()))
            && (this.getMajor() == null ? other.getMajor() == null : this.getMajor().equals(other.getMajor()))
            && (this.getIllegalCount() == null ? other.getIllegalCount() == null : this.getIllegalCount().equals(other.getIllegalCount()))
            && (this.getIsAdmin() == null ? other.getIsAdmin() == null : this.getIsAdmin().equals(other.getIsAdmin()))
            && (this.getIsFirstTimeLogin() == null ? other.getIsFirstTimeLogin() == null : this.getIsFirstTimeLogin().equals(other.getIsFirstTimeLogin()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getTeacherid() == null) ? 0 : getTeacherid().hashCode());
        result = prime * result + ((getNickname() == null) ? 0 : getNickname().hashCode());
        result = prime * result + ((getPassword() == null) ? 0 : getPassword().hashCode());
        result = prime * result + ((getAvartarurl() == null) ? 0 : getAvartarurl().hashCode());
        result = prime * result + ((getIdentity() == null) ? 0 : getIdentity().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getUnit() == null) ? 0 : getUnit().hashCode());
        result = prime * result + ((getOccupation() == null) ? 0 : getOccupation().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getTags() == null) ? 0 : getTags().hashCode());
        result = prime * result + ((getSex() == null) ? 0 : getSex().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getQq() == null) ? 0 : getQq().hashCode());
        result = prime * result + ((getTelephone() == null) ? 0 : getTelephone().hashCode());
        result = prime * result + ((getSignature() == null) ? 0 : getSignature().hashCode());
        result = prime * result + ((getMajor() == null) ? 0 : getMajor().hashCode());
        result = prime * result + ((getIllegalCount() == null) ? 0 : getIllegalCount().hashCode());
        result = prime * result + ((getIsAdmin() == null) ? 0 : getIsAdmin().hashCode());
        result = prime * result + ((getIsFirstTimeLogin() == null) ? 0 : getIsFirstTimeLogin().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", teacherid=").append(teacherid);
        sb.append(", nickname=").append(nickname);
        sb.append(", password=").append(password);
        sb.append(", avartarurl=").append(avartarurl);
        sb.append(", identity=").append(identity);
        sb.append(", name=").append(name);
        sb.append(", unit=").append(unit);
        sb.append(", occupation=").append(occupation);
        sb.append(", title=").append(title);
        sb.append(", tags=").append(tags);
        sb.append(", sex=").append(sex);
        sb.append(", email=").append(email);
        sb.append(", qq=").append(qq);
        sb.append(", telephone=").append(telephone);
        sb.append(", signature=").append(signature);
        sb.append(", major=").append(major);
        sb.append(", illegalCount=").append(illegalCount);
        sb.append(", isAdmin=").append(isAdmin);
        sb.append(", isFirstTimeLogin=").append(isFirstTimeLogin);
        sb.append(", status=").append(status);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}